package com.zrc.superframe_net.common.net

import io.reactivex.disposables.Disposable

/**
 * @Author: superman
 * @CreateTime: 6/27/21
 * @Describe:网络请求接口进行回调
 */
interface BaseNetCallBack<T> {
    /**
     * 成功后回调方法
     * @param d
     */
    fun onSubscribe(d: Disposable)

    /**
     * 成功后回调方法
     * @param data
     * @param mothead
     */
    fun onSucceed(data: T, mothead: String)

    /**
     * 缓冲区数据回调方法
     * @param result
     * @param mothead
     */
    @Throws
    fun onCookieSucceed(result: String?, mothead: String)

    /**
     * 失败
     * 失败或者错误方法
     * 自定义异常处理
     * @param e
     */
    fun onError(e: Throwable)

    /**
     * 观察者结束,不管 错误与否，都会被调用
     */
    fun onComplete()
}